iT邦幫忙

第 12 屆 iThome 鐵人賽

DAY 11
0
自我挑戰組

golang初探系列 第 11

day11-運算符號介紹

  • 分享至 

  • xImage
  •  

Operators and punctuation

算數運算

是對數值類型的變量進行運算 比如加減乘除
在 Golang 當中有幾點要注意的

  • 整數相除只會保留整數部分,若需要小數點則使用 float
  • ++ 及 -- 只能單獨使用
  • 不支持 ++a or --a
package main

import (
	"fmt"
)

func main() {
	//使用 + 代表正數
	var a = +125
	//使用 - 代表正數
	var b = -7
	//兩數相加
	fmt.Printf("a + b = %d\n", a+b)
	//兩數相減
	fmt.Printf("a - b = %d\n", a-b)
	//兩數相乘
	fmt.Printf("a * b = %d\n", a*b)

	//兩數相除取商
	fmt.Printf("a / b = %d\n", 125/7)
	//兩數相除取餘數
	fmt.Println(125 % 7)
	//a = a+1
	a++
	fmt.Println(a)
	//a = a-1
	a--
	fmt.Println(a)
}

比較運算符號

常用於控制流程進行判斷,比較運算符號 結果都是 Boolean 類型

package main

import "fmt"

func main() {

	fmt.Printf("是否4等於3 %t\n", 4 == 3)
	fmt.Printf("是否4不等於3 %t\n", 4 != 3)
	fmt.Printf("是否4小於3 %t\n", 4 < 3)
	fmt.Printf("是否4大於3 %t\n", 4 > 3)
	fmt.Printf("是否4小於等於3 %t\n", 4 <= 3)
	fmt.Printf("是否4打於等於3 %t\n", 4 >= 3)
}

邏輯運算符號

常用於控制流程,用於表達多個條件判斷是否符合

package main

import (
	"fmt"
)

func main() {
	var a bool = true
	var b bool = false
	//當a 與 b 皆為ture,才為 true,其餘則為 flase
	fmt.Println(a && b)
	//當只要其中一個條件成立,就為 true,其餘為 flase
	fmt.Println(a || b)
	//取反值 原來為 true 就為 false ,原來為 flase 則為真
	fmt.Println(!a)
}

賦值運算符號

將運算後的值,賦值給變數

package main

import (
	"fmt"
)

func main() {
	var a = 10
	var b = 100
	var c = a + b
	fmt.Printf("將 a + b 的結果賦值給c, c = %d\n", c)
	//c 與 a 相加後在賦值給c
	c += a
	fmt.Printf("c 為%d\n", c)
	//c 與 a 相減後在賦值給c
	c -= a
	fmt.Printf("c 為%d\n", c)
	//c 與 a 相乘後在賦值給c
	c *= a
	fmt.Printf("c 為%d\n", c)
	//c 與 a 相除後在賦值給c
	c /= a
	fmt.Printf("c 為%d\n", c)

	//c 與 a 相乘後在賦值給c
	c %= a
	fmt.Printf("c 為%d\n", c)

}

位元運算

位元運算 針對二進制進行運算

package main

import (
	"fmt"
)

func main() {
	//5的二進制為101
	//2的二進制為10
	//將101 與 10 進行 and 運算
	fmt.Println(5 & 2)
	//將101 與 10 進行 or 運算
	fmt.Println(5 | 2)
	//將101 與 10 進行 xor 運算
	fmt.Println(5 ^ 2)
	//將二進制左移指定位數
	fmt.Println(2 << 1)
	//將二進制右移指定位數
	fmt.Println(4 >> 1)
}


上一篇
day10-指標(Pointer)使用
下一篇
day12-陣列介紹
系列文
golang初探30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言